package com.wlhse.dao;

import com.wlhse.dto.inDto.CompanyProblemAnalysisInDto;
import com.wlhse.dto.inDto.IndexSystemInDto;
import com.wlhse.dto.inDto.ProblemLevelAnalysisInDto;
import com.wlhse.dto.inDto.ProblemTrendInDto;
import com.wlhse.dto.outDto.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface EchartsDao {
    List<ProblemLevelAnalysisOutDto> getProblemLevelAnalysis(ProblemLevelAnalysisInDto problemLevelAnalysisInDto);

    List<ProblemTrendOutDto> getProblemTrendOutDto(ProblemTrendInDto problemTrendInDto);

    List<CompanyProblemAnalysisOutDto> getCompanyProblemAnalysisOutDto(CompanyProblemAnalysisInDto companyProblemAnalysisInDto);

    List<IndexSystemOutDto> getIndexSystemOutDto(@Param("checkItemCode")String checkItemCode,@Param("companyCode")String companyCode,@Param("startDate")String startDate,@Param("endDate")String endDate);

    List<IndexSystemOutDto> getIndexSystemOutDto1(@Param("checkItemCode")String checkItemCode,@Param("companyCode")String companyCode,@Param("startDate")String startDate,@Param("endDate")String endDate);

//    List<IndexSystemOutDto> getIndexSystemOutDtoV2(@Param("checkItemCode")String checkItemCode,@Param("companyCode")String companyCode,@Param("startDate")String startDate,@Param("endDate")String endDate);

    List<ProblemRepeatOutDto> getProblemRepeatOutDto(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<DayEchratOutDto> getDayEchratOutDto(@Param("startDate") String startDate, @Param("endDate") String endDate);

    //根据月份，分析今年和去年的事故事件
    List<IndexSystemOutDto> getAccidentRecordByMonth(@Param("tag")String tag,@Param("companyCode")String companyCode,@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("isOrderBy")String isOrderBy);
    //根据类别
    List<IndexSystemOutDto> getAccidentRecordByType(@Param("tag")String tag,@Param("companyCode")String companyCode,@Param("startTime")String startTime,@Param("endTime")String endTime);
    //根据公司
    List<IndexSystemOutDto> getAccidentRecordByCom(@Param("tag")String tag,@Param("companyCode")String companyCode,@Param("startTime")String startTime,@Param("endTime")String endTime);

    //0319新增
    IndexSystemOutDto getCountAccident(@Param("tag")String tag);

}
